#ifndef ENEMY_SETTING_HH
#define ENEMY_SETTING_HH

#include <vector>
#include <string>

namespace enemy_settings {

    //Cultist Brawler邪教徒格斗者
    namespace Cultist_Brawler{
        inline static std::string name = "Cultist Brawler";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 30;
        inline static unsigned speed = 7;
        inline static unsigned dodge = 21;//闪避
        inline static unsigned blight = 60;//毒抗
        inline static unsigned bleed = 60;//血抗
        inline static unsigned stun = 55;//晕抗
        namespace skill {
            //为旧神撕裂Rend for the Old Gods
            namespace Rend_for_the_Old_Gods{
                inline static std::string name = "Rend for the Old Gods";
                inline static std::vector<int> Rank = {0,1};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 5;
                inline static unsigned max_attack = 8;
                inline static unsigned crit = 19;
                inline static int bleed = 140;
                inline static int bleed_damage = 3;
                inline static int bleed_rounds = 2;
                inline static int self_move = 1;
            }
            //绊脚石Stumbling Scratch
            namespace Stumbling_Scratch{
                inline static std::string name = "Stumbling Scratch";
                inline static std::vector<int> Rank = {0,1};
                inline static std::vector<unsigned> Target = {2,3};
                inline static unsigned min_attack = 3;
                inline static unsigned max_attack = 6;
                inline static unsigned crit = 0;
                inline static int self_move = 1;
            }
        }
    }
    //Cultist Acolyte邪教徒侍僧
    namespace Cultist_Acolyte{
        inline static std::string name = "Cultist Acolyte";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 25;
        inline static unsigned speed = 9;
        inline static unsigned dodge = 33;//闪避
        inline static unsigned blight = 60;//毒抗
        inline static unsigned bleed = 60;//血抗
        inline static unsigned stun = 65;//晕抗
        namespace skill {
            //Stressful Incantation	压力咒语
            namespace Stressful_Incantation{
                inline static std::string name = "Stressful Incantation";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 1;
                inline static unsigned max_attack = 3;
                inline static unsigned crit = 0;
                inline static int stress = 20;
            }
            //Eldritch Pull
            namespace Eldritch_Pull{
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 1;
                inline static unsigned max_attack = 3;
                inline static unsigned crit = 14;
                inline static int hero_target = 2;
                
            }
            //Eldritch Push
            namespace Eldritch_Push{
                inline static std::string name = "Eldritch Push";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 3;
                inline static unsigned max_attack = 6;
                inline static unsigned crit = 14;
                inline static int hero_target = -2;
                inline static int stress = 8;
            }
        }
    }
    //Madman
    namespace Madman{
        inline static std::string name = "Madman";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 27;
        inline static unsigned speed = 11;
        inline static unsigned dodge = 41;//闪避
        inline static unsigned blight = 50;//毒抗
        inline static unsigned bleed = 50;//血抗
        inline static unsigned stun = 50;//晕抗
        namespace skill {
        //末日赛Doomsay(群体技能1,2,3)
            namespace Doomsay{
                inline static std::string name = "Doomsay";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 0;
                inline static unsigned max_attack = 0;
                inline static unsigned crit = 0;
                inline static int stress = 9;
            }
            //指控Accusation
            namespace Accusation{
                inline static std::string name = "Accusation";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 1;
                inline static unsigned max_attack = 3;
                inline static int stress = 20;
                inline static unsigned crit = 0;
            }
        }
    }
    //Bone Soldier骷髅士兵
    namespace Bone_Soldier{
        inline static std::string name = "Bone Soldier";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 21;
        inline static unsigned speed = 4;
        inline static unsigned dodge = 22;//闪避
        inline static unsigned blight = 55;//毒抗
        inline static unsigned bleed = 245;//血抗
        inline static unsigned stun = 70;//晕抗
        namespace skill {
            //Graveyard Slash墓地斩
            namespace Graveyard_Slash{
                inline static std::string name = "Graveyard Slash";
                inline static std::vector<int> Rank = {0,1,2};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 5;
                inline static unsigned max_attack = 15;
                inline static unsigned crit = 12;
                
            }
            //Graveyard Stumble墓地绊倒
            namespace Graveyard_Stumble{
                inline static std::string name = "Graveyard Stumble";
                inline static std::vector<int> Rank = {3};
                inline static std::vector<unsigned> Target = {2,3};
                inline static unsigned min_attack = 3;
                inline static unsigned max_attack = 9;
                inline static unsigned crit = 0;
                inline static int self_move = 1;
            }
        }
    }
    //Bone Courtier骨廷
    namespace Bone_Courtier{
        inline static std::string name = "Bone Courtier";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 21;
        inline static unsigned speed = 10;
        inline static unsigned dodge = 35;//闪避
        inline static unsigned blight = 55;//毒抗
        inline static unsigned bleed = 245;//血抗
        inline static unsigned stun = 55;//晕抗
        namespace skill {
            //Tempting Goblet诱人高脚杯
            namespace Tempting_Goblet{
                inline static std::string name = "Tempting Goblet";
                inline static std::vector<int> Rank = {1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 4;
                inline static unsigned max_attack = 6;
                inline static unsigned crit = 7;
                inline static int stress = 15;
                
            }
            //Knife in The Dark黑暗中的刀
            namespace Knife_in_The_Dark{
                inline static std::string name = "Knife in The Dark";
                inline static std::vector<int> Rank = {0,1};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 5;
                inline static unsigned max_attack = 9;
                inline static unsigned crit = 12;
            }
        }
    }
    //Bone Arbalist骨劲弩
    namespace Bone_Arbalist{
        inline static std::string name = "Bone Arbalist";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 31;
        inline static unsigned speed = 7;
        inline static unsigned dodge = 27;//闪避
        inline static unsigned blight = 55;//毒抗
        inline static unsigned bleed = 245;//血抗
        inline static unsigned stun = 55;//晕抗

        namespace skill {
            //Shoot争吵
            namespace Shoot{
                inline static std::string name = "Shoot";
                inline static std::vector<int> Rank = {2,3};
                inline static std::vector<unsigned> Target = {1,2,3};
                inline static unsigned min_attack = 6;
                inline static unsigned max_attack = 13;
                inline static unsigned crit = 17;
                
            }
            //Quarre刺刀刺
            namespace Quarre{
                inline static std::string name = "Quarre";
                inline static std::vector<int> Rank = {0,1};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 4;
                inline static unsigned max_attack = 7;
                inline static unsigned crit = 7;
                inline static int self_move = -1;
            }
        }
    }
    //Bone Defender骨骼防御者
    namespace Bone_Defender{
        inline static std::string name = "Bone Defender";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 31;
        inline static unsigned speed = 2;
        inline static unsigned dodge = 22;//闪避
        inline static unsigned blight = 55;//毒抗
        inline static unsigned bleed = 245;//血抗
        inline static unsigned stun = 75;//晕抗
        inline static double prot = 0.25;//防御

        namespace skill {
            //Axeblade斧刃
            namespace Axeblade{
                inline static std::string name = "Axeblade";
                inline static std::vector<int> Rank = {0,1};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 5;
                inline static unsigned max_attack = 11;
                inline static unsigned crit = 12;
                
            }
            //Clumsy Axeblade	笨拙的斧刃
            namespace Clumsy_Axeblade{
                inline static std::string name = "Clumsy Axeblade";
                inline static std::vector<int> Rank = {2,3};
                inline static std::vector<unsigned> Target = {2,3};
                inline static unsigned min_attack = 4;
                inline static unsigned max_attack = 8;
                inline static unsigned crit = 0;
                inline static int self_move = 1;
            }
        }
    }
    //Swine Chopper猪斩拌机
    namespace Swine_Chopper{
        inline static std::string name = "Swine Chopper";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 41;
        inline static unsigned speed = 5;
        inline static unsigned dodge = 21;//闪避
        inline static unsigned blight = 100;//毒抗
        inline static unsigned bleed = 60;//血抗
        inline static unsigned stun = 65;//晕抗

        namespace skill {
            //Butcher Cut屠夫切块
            namespace Butcher_Cut{
                inline static std::string name = "Butcher Cut";
                inline static std::vector<int> Rank = {0,1};
                inline static std::vector<unsigned> Target = {0,1,2};
                inline static unsigned min_attack = 7;
                inline static unsigned max_attack = 13;
                inline static unsigned crit = 17;
                inline static int bleed = 140;
                inline static int bleed_damage = 4;
                inline static int bleed_rounds = 3;
            }
            //Ball And Chain球和链条
            namespace Ball_And_Chain{
                inline static std::string name = "Ball And Chain";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {2,3};
                inline static unsigned min_attack = 5;
                inline static unsigned max_attack = 10;
                inline static unsigned crit = 12;
                inline static int stun = 140;
                inline static int stun_rounds = 1;
                inline static int hero_target = -1;
            }
        }
    }
    //Swine Slasher杀猪者
    namespace Swine_Slasher{
        inline static std::string name = "Swine Slasher";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 16;
        inline static unsigned speed = 7;
        inline static unsigned dodge = 40;//闪避
        inline static unsigned blight = 85;//毒抗
        inline static unsigned bleed = 85;//血抗
        inline static unsigned stun = 55;//晕抗

        namespace skill {
            //Hook Where It Hurts在痛处钩
            namespace Hook_Where_It_Hurts{
                inline static std::string name = "Hook Where It Hurts";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2};
                inline static unsigned min_attack = 7;
                inline static unsigned max_attack = 13;
                inline static unsigned crit = 22;
                inline static int self_move = 1;
            }
            //Dead Weight自重
            namespace Dead_Weight{
                inline static std::string name = "Dead Weight";
                inline static std::vector<int> Rank = {0,1};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 6;
                inline static unsigned max_attack = 14;
                inline static unsigned crit = 6;
                inline static int stun = 140;
                inline static int stun_rounds = 1;
                inline static int hero_target = -1;
            }
        }


    }
    //Swine Drummer猪鼓手
    namespace Swine_Drummer{
        inline static std::string name = "Swine Drummer";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 18;
        inline static unsigned speed = 9;
        inline static unsigned dodge = 22;//闪避
        inline static unsigned blight = 85;//毒抗
        inline static unsigned bleed = 65;//血抗
        inline static unsigned stun = 55;//晕抗

        namespace skill {
            //Drum of Doom末日之鼓(群体技能1,2,3)
            namespace Drum_of_Doom{
                inline static std::string name = "Drum of Doom";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 2;
                inline static unsigned max_attack = 2;
                inline static unsigned crit = 7;
                inline static int stress = 5;
                
            }
            //Drum of Debilitation虚弱之鼓
            namespace Drum_of_Debilitation{
                inline static std::string name = "Drum of Debilitation";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 2;
                inline static unsigned max_attack = 2;
                inline static unsigned crit = 12;
                inline static int stress = 15;
                inline static int hero_dodge = -10;
                
            }
        }
    }
    //Carrion Eater腐肉吞噬者
    namespace Carrion_Eater{
        inline static std::string name = "Carrion Eater";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 31;
        inline static unsigned speed = 6;
        inline static unsigned dodge = 22;//闪避
        inline static unsigned blight = 95;//毒抗
        inline static unsigned bleed = 145;//血抗
        inline static unsigned stun = 105;//晕抗

        namespace skill {
            //Munch噍
            namespace Munch{
                inline static std::string name = "Munch";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 4;
                inline static unsigned max_attack = 8;
                inline static unsigned crit = 17;
                inline static int blight = 140;
                inline static int blight_damage = 3;
                inline static int blight_rounds = 3;
            }
            //Munch again噍
            namespace Munch_again{
                inline static std::string name = "Munch again";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 3;
                inline static unsigned max_attack = 6;
                inline static unsigned crit = 25;
                inline static int blight = 140;
                inline static int blight_damage = 3;
                inline static int blight_rounds = 3;
            }
        }
    }
    //Rabid Gnasher狂犬病
    // namespace Rabid_Gnasher{
    //     inline static std::string name = "Rabid Gnasher";
    //     inline static std::string description = "  ";
    //     inline static const unsigned maxHealth = 21;
    //     inline static unsigned speed = 10;
    //     inline static unsigned dodge = 37;//闪避
    //     inline static unsigned blight = 105;//毒抗
    //     inline static unsigned bleed = 65;//血抗
    //     inline static unsigned stun = 55;//晕抗

    //     namespace skill {
    //         //Rabid Rush狂热的冲刺	
    //         namespace Drum_of_Doom{
    //             inline static std::vector<int> Rank = {0,1,2,3};
    //             inline static std::vector<unsigned> Target = {0,1,2,3};
    //             inline static unsigned min_attack = 2;
    //             inline static unsigned max_attack = 6;
    //             inline static unsigned crit = 22;
    //             inline static int bleed = 140;
    //             inline static int bleed_damage = 3;
    //             inline static int bleed_rounds = 3;
    //             inline static int self_move = 3;
    //         }
    //     }
    // }
    //Brigand Cutthroat强盗割喉
    namespace Brigand_Cutthroat{
        inline static std::string name = "Brigand Cutthroat";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 23;
        inline static unsigned speed = 5;
        inline static unsigned dodge = 23;//闪避
        inline static unsigned blight = 60;//毒抗
        inline static unsigned bleed = 60;//血抗
        inline static unsigned stun = 65;//晕抗

        namespace skill {
            //Slice And Dice(群体1,2)
            namespace Slice_And_Dice{
                inline static std::vector<int> Rank = {0,1,2};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 5;
                inline static unsigned max_attack = 10;
                inline static unsigned crit = 19;
                
            }
            //Uppercut Slice
            namespace Uppercut_Slice{
                inline static std::vector<int> Rank = {0,1};
                inline static std::vector<unsigned> Target = {0,1,2};
                inline static unsigned min_attack = 4;
                inline static unsigned max_attack = 7;
                inline static unsigned crit = 14;
                inline static int hero_target = -1;
            }
            //Shank柄
            namespace Shank{
                inline static std::string name = "Shank";
                inline static std::vector<int> Rank = {0,1,2};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 7;
                inline static unsigned max_attack = 15;
                inline static unsigned crit = 4;
                inline static int bleed = 140;
                inline static int bleed_damage = 1;
                inline static int bleed_rounds = 3;
            }
            //Harmless Poke无害戳
            namespace Harmless_Poke{
                inline static std::string name = "Harmless Poke";
                inline static std::vector<int> Rank = {3};
                inline static std::vector<unsigned> Target = {2,3};
                inline static unsigned min_attack = 4;
                inline static unsigned max_attack = 7;
                inline static unsigned crit = 0;
                inline static int self_speed = 2;
                inline static int self_move = 1;
            }
        }
    }
    //Brigand Fusilier土匪燧发枪手
    namespace Brigand_Fusilier{
        inline static std::string name = "Brigand Fusilier";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 31;
        inline static unsigned speed = 9;
        inline static unsigned dodge = 22;//闪避
        inline static unsigned blight = 85;//毒抗
        inline static unsigned bleed = 65;//血抗
        inline static unsigned stun = 55;//晕抗

        namespace skill {
            //Blanket Fire毯式火(群体1,2,3)
            namespace Blanket_Fire{
                inline static std::string name = "Blanket Fire";
                inline static std::vector<int> Rank = {1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 2;
                inline static unsigned max_attack = 5;
                inline static unsigned crit = 7;
                
            }
            //Rushed Shot匆忙射击
            namespace Rushed_Shot{
                inline static std::string name = "Rushed Shot";
                inline static std::vector<int> Rank = {0};
                inline static std::vector<unsigned> Target = {0,1,2};
                inline static unsigned min_attack = 4;
                inline static unsigned max_attack = 7;
                inline static unsigned crit = 14;
                inline static int self_move = -1;
                
            }
        }
    }
    //Brigand Bloodletter强盗血信
    namespace Brigand_Bloodletter{
        inline static std::string name = "Brigand Bloodletter";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 68;
        inline static unsigned speed = 3;
        inline static unsigned dodge = 21;//闪避
        inline static unsigned blight = 60;//毒抗
        inline static unsigned bleed = 60;//血抗
        inline static unsigned stun = 90;//晕抗

        namespace skill {
            //Rain of Whips鞭子雨(群体1,2,3)
            namespace Rain_of_Whips{
                inline static std::vector<int> Rank = {0,1};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 1;
                inline static unsigned max_attack = 3;
                inline static unsigned crit = 7;
                inline static int bleed = 140;
                inline static int bleed_damage = 3;
                inline static int bleed_rounds = 3;
                inline static int stress = 5;
            }
            //Punishment惩罚	
            namespace Punishment{
                inline static std::string name = "Punishment";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 4;
                inline static unsigned max_attack = 7;
                inline static unsigned crit = 19;
                inline static int bleed = 140;
                inline static int bleed_damage = 4;
                inline static int bleed_rounds = 3;
                inline static int stress = 5;
                
            }
            //Point Blank Shot	
            namespace Point_Blank_Shot{
                inline static std::string name = "Point Blank Shot";
                inline static std::vector<int> Rank = {0};
                inline static std::vector<unsigned> Target = {0};
                inline static unsigned min_attack = 7;
                inline static unsigned max_attack = 18;
                inline static unsigned crit = 24;
                inline static int hero_target = -1;
                inline static int self_speed = -2;
            }
        }
    }
    //Pelagic Grouper远洋石斑鱼
    namespace Pelagic_Grouper{
        inline static std::string name = "Pelagic Grouper";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 27;
        inline static unsigned speed = 8;
        inline static unsigned dodge = 27;//闪避
        inline static unsigned blight = 55;//毒抗
        inline static unsigned bleed = 55;//血抗
        inline static unsigned stun = 95;//晕抗

        namespace skill {
            //Seaward Slash斜线
            namespace Seaward_Slash{
                inline static std::string name = "Seaward Slash";
                inline static std::vector<int> Rank = {0,1};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 9;
                inline static unsigned max_attack = 17;
                inline static unsigned crit = 7;
                
            }
            //Spearfishing	鱼叉捕鱼	
            namespace Spearfishing{
                inline static std::string name = "Spearfishing";
                inline static std::vector<int> Rank = {2,3};
                inline static std::vector<unsigned> Target = {2,3};
                inline static unsigned min_attack = 6;
                inline static unsigned max_attack = 13;
                inline static unsigned crit = 12;
                
            }
        }
    }
    //Pelagic Shaman远洋萨满
    namespace Pelagic_Shaman{
        inline static std::string name = "Pelagic Shaman";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 25;
        inline static unsigned speed = 12;
        inline static unsigned dodge = 30;//闪避
        inline static unsigned blight = 55;//毒抗
        inline static unsigned bleed = 95;//血抗
        inline static unsigned stun = 55;//晕抗

        namespace skill {
            //Stress Wave	应力波(群体 25%目标加一)
            namespace Stress_Wave{
                inline static std::string name = "Stress Wave";
                inline static std::vector<int> Rank = {1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 1;
                inline static unsigned max_attack = 3;
                inline static unsigned crit = 0;
                inline static int stress = 15;
                inline static int self_move = -1;
            } 
            //Ceremonial Cut
            namespace Ceremonial_Cut{
                inline static std::string name = "Ceremonial Cut";
                inline static std::vector<int> Rank = {0};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 4;
                inline static unsigned max_attack = 8;
                inline static unsigned crit = 7;
            }
        }
    }
    //Pelagic Guardian远洋守护者
    namespace Pelagic_Guardian{
        inline static std::string name = "Pelagic Guardian";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 51;
        inline static unsigned speed = 2;
        inline static unsigned dodge = 22;//闪避
        inline static unsigned blight = 55;//毒抗
        inline static unsigned bleed = 105;//血抗
        inline static unsigned stun = 70;//晕抗

        namespace skill {
            //Barnacle Barrier(对自己队伍使用)
            namespace Ceremonial_Cut{
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                
                inline static int self_heal = 5;
            }
            //Octocestus	八叶草
            namespace Octocestus{
                inline static std::string name = "Octocestus";
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 5;
                inline static unsigned max_attack = 11;
                inline static unsigned crit = 12;
                inline static int bleed = 140;
                inline static int bleed_damage = 4;
                inline static int bleed_rounds = 3;
                
            }
            //Sea Breeze海风
            namespace Sea_Breeze{
                inline static std::string name = "Sea Breeze";
                inline static std::vector<int> Rank = {1,2,3};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 6;
                inline static unsigned max_attack = 12;
                inline static unsigned crit = 15;
            }
        }
    }
    //Boss
    //Prophet先知
    namespace Prophet{
        inline static std::string name = "Prophet";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 215;
        inline static unsigned speed = 2;
        inline static unsigned dodge = 27;//闪避
        inline static unsigned blight = 45;//毒抗
        inline static unsigned bleed = 45;//血抗
        inline static unsigned stun = 145;//晕抗

        namespace skill {
            //Rubble of Ruin(群体 100%目标加一)
            namespace Rubble_of_Ruin{
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 13;
                inline static unsigned max_attack = 45;
                inline static unsigned crit = 0;
                
            }
            //Eye On You	(群体 50%目标加一)
            namespace Eye_On_You{
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 1;
                inline static unsigned max_attack = 3;
                inline static unsigned crit = 2;
                inline static int stun = 140;
                inline static int stun_rounds = 1;
                inline static int stress = 11;
                
            }
            //Fulminate(群体1,2,3)
            namespace Fulminate{
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 1;
                inline static unsigned max_attack = 3;
                inline static unsigned crit = 6;
                inline static int blight = 140;
                inline static int blight_damage = 3;
                inline static int blight_rounds = 3;
            }
        }
    }
    //small pew
    namespace Small_Pew{
        inline static std::string name = "Small Pew";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 51;
        inline static unsigned speed = 2;
        inline static unsigned dodge = 22;//闪避
        inline static unsigned blight = 245;//毒抗
        inline static unsigned bleed = 245;//血抗
        inline static unsigned stun = 245;//晕抗
    }
    //Medium Pew
    namespace Medium_Pew{
        inline static std::string name = "Medium Pew";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 99;
        inline static unsigned speed = 2;
        inline static unsigned dodge = 22;//闪避
        inline static unsigned blight = 245;//毒抗
        inline static unsigned bleed = 245;//血抗
        inline static unsigned stun = 245;//晕抗
    }
    //Large Pew
    namespace Large_Pew{
        inline static std::string name = "Large Pew";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 113;
        inline static unsigned speed = 2;
        inline static unsigned dodge = 22;//闪避
        inline static unsigned blight = 245;//毒抗
        inline static unsigned bleed = 245;//血抗
        inline static unsigned stun = 245;//晕抗
    }
    //Necromancer巫师 (每释放一次技能召唤一个骷髅)
    namespace Necromancert{
        inline static std::string name = "Necromancer";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 215;
        inline static unsigned speed = 10;
        inline static unsigned dodge = 22;//闪避
        inline static unsigned blight = 60;//毒抗
        inline static unsigned bleed = 60;//血抗
        inline static unsigned stun = 115;//晕抗

        namespace skill {
            //The Flesh Is Willing肉体是愿意的(群体1,2)
            namespace The_Flesh_Is_Willing{
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 7;
                inline static unsigned max_attack = 15;
                inline static unsigned crit = 14;
                
            }
            //The Clawing Dead	爪死人（群体3）
            namespace The_Clawing_Dead{
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target ={2,3};
                inline static unsigned min_attack = 5;
                inline static unsigned max_attack = 10;
                inline static unsigned crit = 14;
                
            }
            //Six Feet Under六英尺之下(群体1,2,3)
            namespace Six_Feet_Under{
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3} ;
                inline static unsigned min_attack = 0;
                inline static unsigned max_attack = 0;
                inline static int stress = 15;
            }
        }
    }
    //Flesh
    namespace Flesh{
        inline static std::string name = "Flesh";
        inline static std::string description = "  ";
        inline static const unsigned maxHealth = 204;
        inline static unsigned speed = 7;
        inline static unsigned dodge = 22;//闪避
        inline static unsigned blight = 65;//毒抗
        inline static unsigned bleed = 85;//血抗
        inline static unsigned stun = 95;//晕抗

        namespace skill {
            //Maws of Life
            namespace Maws_of_Life{
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1};
                inline static unsigned min_attack = 12;
                inline static unsigned max_attack = 24;
                inline static unsigned crit = 7;
                inline static int bleed = 140;
                inline static int bleed_damage = 4;
                inline static int bleed_rounds = 3;            
            }
            //Bone Zephyr
            namespace The_Clawing_Dead{
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {0,1,2,3};
                inline static unsigned min_attack = 4;
                inline static unsigned max_attack = 8;
                inline static unsigned crit = 1;
                inline static int stun = 100;
                inline static int stun_rounds = 1;
            }
            //Undulating Invasion
            namespace Six_Feet_Under{
                inline static std::vector<int> Rank = {0,1,2,3};
                inline static std::vector<unsigned> Target = {2,3};
                inline static unsigned min_attack = 9;
                inline static unsigned max_attack = 19;
                inline static unsigned crit = 12;
                inline static int stress = 15;
            }
        }
    }
}

#endif